package types

import "gin/model"

type UserWithDepartmentId struct {
	model.User
	DepartmentId int64 `json:"department_id"`
}

type UserListWithTwoLevelDepartment struct {
	Id                   uint64 `json:"id" gorm:"column:id"`
	Name                 string `json:"name" gorm:"column:name"`
	Phone                string `json:"phone" gorm:"column:phone"`
	Email                string `json:"email" gorm:"column:email"`
	UnionId              uint64 `json:"union_id" gorm:"column:union_id"`
	UserCertId           int64  `json:"user_cert_id" gorm:"column:user_cert_id"`
	Avatar               string `json:"avatar" gorm:"column:avatar"`
	Created              int64  `json:"created" gorm:"column:created"`
	Json                 string `json:"json" gorm:"column:json"`
	Uuid                 string `json:"uuid" gorm:"column:uuid"`
	DepartmentId         uint64 `json:"department_id"`
	DepartmentParentId   uint64 `json:"department_parent_id"`
	DepartmentName       string `json:"department_name"`
	DepartmentParentName string `json:"department_parent_name"`
	//RoleId               int64  `json:"role_id"`
	//RoleName             string `json:"role_name"`
}

type GetMyUserInfoReq struct {
}
type GetMyUserInfoTenant struct {
	CreatedBy                    int64  `json:"created_by"`
	FddAuthStatus                int64  `json:"fdd_auth_status"`
	FddCertStatus                int64  `json:"fdd_cert_status"`
	FrameworkAgreementContractID string `json:"framework_agreement_contract_id"`
	FrameworkAgreementStatus     string `json:"framework_agreement_status"`
	ID                           int64  `json:"id"`
	Name                         string `json:"name"`
	Status                       string `json:"status"`
}
type GetMyUserInfoDepartment struct {
	DepartmentID              int64  `json:"department_id"`
	DepartmentName            string `json:"department_name"`
	DepartmentStepCategoryIds string `json:"department_step_category_ids"`
	ID                        int64  `json:"id"`
	RoleCode                  string `json:"role_code"`
	RoleID                    int64  `json:"role_id"`
	RoleName                  string `json:"role_name"`
	TenantID                  int64  `json:"tenant_id"`
	TenantPositionID          int64  `json:"tenant_position_id"`
}
type GetMyUserInfoUser struct {
	Avatar       string `json:"avatar"`
	Channel      string `json:"channel"`
	Email        string `json:"email"`
	ID           int64  `json:"id"`
	IsIdentified string `json:"is_identified"`
	Name         string `json:"name"`
	Phone        string `json:"phone"`
	Sex          string `json:"sex"`
	Unionid      string `json:"unionid"`
}
type GetMyUserInfoResData struct {
	DepartmentInfo []GetMyUserInfoDepartment `json:"department_info"`
	Tenant         GetMyUserInfoTenant       `json:"tenant"`
	TenantPosition interface{}               `json:"tenant_position"`
	User           GetMyUserInfoUser         `json:"user"`
}
type GetMyUserInfoRes struct {
	Code int64                `json:"code"`
	Data GetMyUserInfoResData `json:"data"`
	Msg  string               `json:"msg"`
}

type GetOtherUserInfoReq struct {
	UserId int64  `json:"user_id"` // 要查询的用户id
	Hide   string `json:"hide"`    // 是否隐藏手机号码
}
